실행 컨텍스트가 무엇인가요?

정의

실행 컨텍스트(execution context)는 Javascript 동작 원리를 담고 있는 핵심 개념이다. 소스코드는 두가지 단계를 거쳐 실행된다.

  1. 소스코드 평가
    • 실행 컨텍스트를 생성하고 변수, 함수 등 호이스팅 된 결과를 실행 컨텍스트가 관리하는 스코프(렉시컬 환경의 환경 레코드)에 등록한다.
  2. 소스코드 실행
    • 런타임 환경에서 소스코드가 실행되면서 소스코드 실행에 필요한 변수, 함수의 참조를 실행 컨텍스트가 관리하는 스코프에서 가져오고 변수 값의 변경 등 소스코드 실행 결과는 다시 실행 컨텍스트가 관리하는 스코프에 등록된다.

각 과정이 진행되면서 필요한 스코프, 식별자, 코드 실행 순서 등 소스코드를 실행하는데 필요한 전반적인 과정들을 등록하고 관리하는 영역을 실행 컨텍스트 라고 하며 스택(Stack) 자료구조로 관리된다.